const xlsx = require('node-xlsx').default;
const fs = require('fs')
const path = require('path')
// 接收一个数组
// 将数组转成二维数组
// 使用 node-xlsx 将二维数组转成文件流
// 将文件流写入excel中
module.exports = function (joblist) {
    // 1.将一维数组转成二维数组
    let twoDList = [];
    joblist.forEach(item => twoDList.push(Object.values(item)))
    // 2.设置excel表头
    let xlsxTitle = [
        '工作名称', '工作地址', '工作详情', '发布时间', '薪资范围', '基本要求',
        '行业范围', '福利待遇', '公司名称', '公司介绍', '公司规模'
    ]
    // 3.将表头插入二维数据中
    twoDList.unshift(xlsxTitle)
    // 4.设置列宽
    let excelTitleWidht = {
        '!cols': [{
            wch: 16
        }, {
            wch: 16
        }, {
            wch: 16
        }, {
            wch: 16
        }, {
            wch: 16
        }, {
            wch: 16
        }, {
            wch: 16
        }, {
            wch: 16
        }, {
            wch: 16
        }, {
            wch: 16
        }, {
            wch: 16
        }]
    };
    // 5.生成文件流
    let excelBuffer = xlsx.build([{
        name: "mySheetName",
        data: twoDList
    }], excelTitleWidht);
    // 6.写入文件流
    fs.writeFile(path.join(__dirname, "../bin/职位信息表.xls"), excelBuffer, (err, res) => {
        if (err) return console.log(err);
        console.log('文件写入成功')
    })
}